package com.byq.mm.smartlib.obd.commands.decoder;

import java.util.HashMap;
import java.util.Map;

import com.byq.mm.smartlib.obd.commands.decoder.engine.EngineLoad;
import com.byq.mm.smartlib.obd.commands.decoder.engine.EngineRPM;
import com.byq.mm.smartlib.obd.commands.decoder.engine.EngineRuntime;
import com.byq.mm.smartlib.obd.commands.decoder.engine.MassAirFlow;
import com.byq.mm.smartlib.obd.commands.decoder.engine.Speed;
import com.byq.mm.smartlib.obd.commands.decoder.fuel.FuelConsumption;
import com.byq.mm.smartlib.obd.commands.decoder.fuel.FuelLevel;
import com.byq.mm.smartlib.obd.commands.decoder.pressure.BarometricPressure;
import com.byq.mm.smartlib.obd.commands.decoder.pressure.FuelPressure;
import com.byq.mm.smartlib.obd.commands.decoder.pressure.IntakeManifoldPressure;
import com.byq.mm.smartlib.obd.commands.decoder.temperature.AirIntakeTemperature;
import com.byq.mm.smartlib.obd.commands.decoder.temperature.AmbientAirTemperature;
import com.byq.mm.smartlib.obd.commands.decoder.temperature.EngineCoolantTemperature;

public class SupportedDecoders {

	static Map<String, CommandDecoder> getSupportedDecoders(){
		Map<String, CommandDecoder> decoders = new HashMap<String, CommandDecoder>();
			//temperature.....//

			CommandDecoder dec = new AmbientAirTemperature();
			decoders.put(dec.getKey(), dec);

			dec = new AirIntakeTemperature();
			decoders.put(dec.getKey(), dec);

			dec = new EngineCoolantTemperature();
			decoders.put(dec.getKey(), dec);
			
			//engine............//

			dec = new Speed();
			decoders.put(dec.getKey(), dec);

			dec = new EngineRPM();
			decoders.put(dec.getKey(), dec);

			dec = new EngineLoad();
			decoders.put(dec.getKey(), dec);

			dec = new EngineRuntime();
			decoders.put(dec.getKey(), dec);

			dec = new MassAirFlow();
			decoders.put(dec.getKey(), dec);
			
			//fuel.....//

		//	dec = new FuelType();
		//	decoders.put(dec.getKey(), dec);	

			dec = new FuelLevel();
			decoders.put(dec.getKey(), dec);

			dec = new FuelConsumption();
			decoders.put(dec.getKey(), dec);		
			//pressure.........//

			dec = new BarometricPressure();
			decoders.put(dec.getKey(), dec);	

			dec = new FuelPressure();
			decoders.put(dec.getKey(), dec);	

			dec = new IntakeManifoldPressure();
			decoders.put(dec.getKey(), dec);	
			
			
//			command.add(new FuelTrimObdCommand(FuelTrim.LONG_TERM_BANK_1));
//			command.add(new FuelTrimObdCommand(FuelTrim.LONG_TERM_BANK_2));
//			command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_1));
//			command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_2));
//			command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_2));

//			command.add(new CommandEquivRatioObdCommand());
			return decoders;

	}
}
